package com.weina.service;

import com.weina.entity.Menu;
import com.weina.vo.MenuVo;

import java.util.List;

public interface MenuService {
    /**
     * 查询所有菜单列表
     */
    List<Menu> findMenuList();

    List<Integer> findMenuIdListByRoleId(Integer roleId);

    /**根据 菜单 id 列表 查询 菜单完整信息列表
     * @param currentRoleMenuIds
     * @return
     */
    List<Menu> findMenuByMenuId(List<Integer> currentRoleMenuIds);

    /**
     * 根据菜单id 查询 当前菜单的子菜单 和 自己
     * @param menuVo
     * @return
     */
    List<Menu> findMenuListByPage(MenuVo menuVo);

    /**
     * 添加菜单方法
     * @param menu
     * @return
     */
    int addMenu(Menu menu);

    /**
     * 修改菜单
     * @param menu
     * @return
     */
    int updateMenu(Menu menu);

    int checkMenuHasChild(Integer id);

    int deleteMenuById(Integer id);

    //根据当前登录用户动态查询自己的菜单
    List<Menu> findMenuListByEmployeeId(Integer id);
}
